# os.path.getsize(file) 获取文件大小
# os.listdir(dirname) 列出dirname下的目录和文件名？？？？
# os.path.isfile(name) 判断name是否是文件
# os.path.join(path, *paths) 拼接路径


# 写个函数计算文件大小：count_size(opath) opath为初始路径
# 要有两个变量 一个是大小的变量 fsize 一个是路径的变量 fpath
# fpath = opath + fname， fname是找到的文件名字
# 做一个循环，保证文件夹中的每一个文件都被计算
# for fname in opath的list里面，即listdir(opath)
# 通过 getsize函数 求出文件大小 getsize（fpath）
# 如果是文件：变量（fsize）+文件大小（getsize(fpath)）
# 如果不是文件：再往下走一层，继续if里面的过程
# 怎么继续下一层啊啊啊啊啊！！！！！ 再调用一次 count_size(fpath)
# 在下一次count_size的时候，opath就赋值成了子文件的路径，fname就赋值了子文件的名字

import os

zongdaxiao = 0

def count_size(wenjianjiamingzi):
    global zongdaxiao
    wenjianjialiebiao = os.listdir(wenjianjiamingzi)
    print(wenjianjialiebiao)
    for wenjianming in wenjianjialiebiao:
        print(wenjianming)
        wenjianlujing = os.path.join(wenjianjiamingzi, wenjianming)
        print(wenjianlujing)
        if os.path.isfile(wenjianlujing):
            wenjiandaxiao = os.path.getsize(wenjianlujing)
            print(wenjiandaxiao)
            zongdaxiao += wenjiandaxiao
            print(zongdaxiao)
        else:
            count_size(wenjianlujing)

count_size('D:\数据分析学习\面试题补充')
print('文件大小=', zongdaxiao, '字节')